<?php
require_once '../../define.php';
ini_set('display_errors', 'on');
function CheckPicCache($CacheFile,$filename){
	if(!file_exists( $CacheFile )){
		//没有建立
		return true;
	}
	if(isset($_GET["clear"])){
		//强制清除
		return true;
	}
	if(filemtime($filename)!=filemtime($CacheFile)){
		//源文件被更新
		return true;
	}
	return false;
}

//检测目标文件是否存在
function checkFile(){
	if (isset($_GET['code']) && $_GET['code'] == 'true'){
		Functions::FUN('strcrypt',false);
		$_GET['path'] = strDecrypt($_GET['path']);
	}
		
	$filename= BASE_DIR.$_GET['path'];// 原始文件
	if(!is_file($filename)) return goDefault();
	return $filename;
}

///不存在图片时调用默认的图片
function goDefault(){
	$pic = 'pic.gif';
	if(isset($_GET['type']))
		$pic=$_GET['type'].'.gif';

	return BASE_DIR."images/".$pic;
}




function init(){
	define('URL', Config::get('root').Config::get('root_path'));
	if(isset($_GET['path']) && isset($_GET['w']) && isset($_GET['h'])){
		$filename = checkFile();
	
		
		//缓存文件地址
		if($_GET['path']!=''){
			$extend = pathinfo($_GET['path']);
			$path = $extend['dirname'].'/'.$_GET['w'].'_'.$_GET['h'].'/'.$extend['basename'];
			$cacheFile= TEMP_DIR.'images/'.$path;
		}else{
			$extend = pathinfo($filename);
			$path = $_GET['w'].'_'.$_GET['h'].'/'.$extend['basename'];
			$cacheFile= TEMP_DIR.'images/'.$path;
		}
		
		//如果没有缓存或过期则建立缓存,正常情况下调用处理过的缓存文件
		if(CheckPicCache($cacheFile,$filename)){
			Files::del($cacheFile);
			$img = Functions::LIB('image');
			$ary = array('file'=>$filename,'width'=>$_GET['w'],'height'=>$_GET['h'],'saveFile'=>$cacheFile);
			$img->resizeImage($ary);
			//修改缓存文件的修改时间与源文件相同
			touch($cacheFile,filemtime($filename));
			
		}
		Functions::go(URL.'temp/images/'.$path.'?t='.time());
	}
}

init();

?>